package cn.com.yusys.yusp.admin.Utils;

import javax.sql.rowset.serial.SerialClob;
import java.io.IOException;
import java.sql.Clob;
import java.sql.SQLException;

public class Clob2StringUtils {
    /**
     *  Clob类型 转String
     * @param clob
     * @return
     * @throws SQLException
     * @throws IOException
     */
    public static String ClobToString(Clob clob) throws SQLException, IOException {
//        String ret = "";
//        Reader read= clob.getCharacterStream();
//        char[] c = new char[(int) clob.length()];
//        read.read(c);
//        String value = new String(c);  //这里就是最终处理好的Clob字段
//        read.close();
//        BufferedReader br = new BufferedReader(read);
//        String s = br.readLine();
//        StringBuffer sb = new StringBuffer();
//        while (s != null) {
//            sb.append(s);
//            s = br.readLine();
//        }
//        ret = sb.toString();
//        if(br != null){
//            br.close();
//        }
//        if(read != null){
//            read.close();
//        }
//        return ret;
        return (clob != null ? clob.getSubString(1, (int) clob.length()) : null);
    }

    /**
     * String 转 Clob
     */
    public static Clob getClob(String s) {
        try {
            return new SerialClob(s.toCharArray());
        } catch (Exception e) {
            return null;
        }
    }
}
